1. Field of the Invention
This invention relates in general to a network communications, and more particularly to a method and apparatus for shaping traffic for a SIMA network.
2. Description of Related Art
The state of communications technology, particularly that which affects the Internet, is currently in flux and subject to rapid and often uncoordinated growth. The ubiquity and diversity of personal computers and set-top boxes has placed significant pressure on the providers of communications system infrastructure to accommodate the alarming increase in the number of new users that demand immediate access to Internet and other network resources. The rapid development of new and sophisticated software made available to users of such services places additional demands on system infrastructure.
Conducting commerce over the Internet and other networks is a practice that is gaining acceptance and popularity. By way of example, traditional on-line services, such as those offered by Internet providers, typical charge customers a monthly fee for access to basic services and resources, such as proprietary and public databases of information. Such traditional service providers also advertise any number of products or services which are purchasable on-line by the user.
Other forms of Internet commercialization currently being considered or implemented include offering of video and audio conferencing services, and a variety of other real-time and non-real-time services. The providers of these services, as well as the providers of communications system infrastructure, are currently facing a number of complex issues, including management of network capacity, load, and traffic to support real-time, non-real-time, and high-bandwidth services, and implementing a viable billing scheme that accounts for the use of such services.
The communications industry is expending considerable attention and investment on high speed solutions including gigabit networking. For example, one particular technology is referred to as asynchronous transfer mode (ATM). Those skilled in the art understand ATM to constitute a communications networking concept that can provide a capability to manage increases in network load, support both real-time and non-real-time applications, and offer, in certain circumstances, a guaranteed level of service quality.
A conventional ATM service architecture typically provides a number of predefined quality of service classes, often referred to as service categories. Each of the service categories includes a number of quality of service (QoS) parameters which define the nature of the respective service category. In other words, a specified service category provides performance to an ATM virtual connection (VCC or VPC) in a manner specified by a subset of the ATM performance parameters. The service categories defined in the ATM Forum specification reference hereinbelow include, for example, a constant bit rate (CBR) category, a real-time variable bit rate (rt-VBR) category, a non-real-time variable bit rate (nrt-VBR) category, an unspecified bit rate (UBR) category, and an available bit rate (ABR) category.
The constant bit rate service class is intended to support real-time applications that require a fixed quantity of bandwidth during the existence of the connection. A particular quality of service is negotiated to provide the CBR service, where the QoS parameters include characterization of the peak cell rate (PCR), the cell loss rate (CLR), the cell transfer delay (CTD), and the cell delay variation (CDV). Conventional ATM traffic management schemes guarantee that the user-contracted QoS is maintained in order to support, for example, real-time applications, such as circuit emulation and voice/video applications, which require tightly constrained delay variations.
The non-real-time VBR service class is intended to support non-real-time applications, where the resulting network traffic can be characterized as having frequent data bursts. Similarly, the real-time variable bit rate service category may be used to support xe2x80x9cburstyxe2x80x9d network traffic conditions. The rt-VBR service category differs from the nrt-VBR service category in that the former is intended to support real-time applications, such as voice and video applications. Both the real-time and non-real-time VBR service categories are characterized in terms of a peak cell rate (PCR), a sustainable cell rate (SCR), and a maximum burst size (MBS).
The unspecified bit rate (UBR) service category is often regarded as a xe2x80x9cbest effort service,xe2x80x9d in that it does not specify traffic-related service guarantees. As such, the UBR service category is intended to support non-real-time applications, including traditional computer communications applications such as file transfers and e-mail.
The available bit rate (ABR) service category provides for the allocation of available bandwidth to users by controlling the rate of traffic through use of a feedback mechanism. The feedback mechanism permits cell transmission rates to be varied in an effort to control or avoid traffic congestion, and to more effectively utilize available bandwidth. A resource management (RM) cell precedes the transmission of data cells, which is transmitted from source to destination and back to the source, in order to provide traffic information to the source.
Although the current ATM service architecture described above would appear to provide, at least at a conceptual level, viable solutions to the many problems facing the communications industry, ATM, as currently defined, requires implementation of a complex traffic management scheme in order meet the objectives articulated in the various ATM specifications and recommendations currently being considered. In order to effectively manage traffic flow in a network, conventional ATM traffic management schemes must assess a prodigious number of traffic condition indicators, including service class parameters, traffic parameters, quality of service parameters and the like. A non-exhaustive listing of such parameters and other ATM traffic management considerations is provided in ITU-T Recommendation I.371, entitled Traffic Control and Congestion Control in B-ISDN, and in Traffic Management Specification, version 4.0 (af-tm-0056.000, April 1996), published by the Technical Committee of the ATM Forum.
Nevertheless, ATM is the current technology of choice when quality of service guarantees are critical. Still, Gigabit Ethernet is simpler, and a less expensive alternative in LAN environments where it is often more expedient to overbuild network capacity. Regardless of the technology, the increased bandwidth improved flow control is necessary in the developing high speed networks to prevent traffic loss.
Simple Integrated Media Access (SIMA) is a new way to introduce new properties for packet based data networks, such as TCP/IP or ATM networks. According to the SIMA concept each customer shall define only two issues before a connection establishment: a nominal bit rate (NBR) and the selection between real-time and non-real-time service classes. application Ser. No. 08/821,273, entitled xe2x80x9cNOMINAL BIT RATE NETWORK SERVICE,xe2x80x9d filed on Mar. 20, 1997 by K. Kilkki, assigned to the assignee of this application, and which is incorporated by reference herein, provides greater details of a SIMA network.
NBR forms the basis of charging, and it defines how the network capacity is divided among different connections during overload situations. Simplicity of SIMA means that, on the one hand, the network operator does not guarantee the continuous availability of nominal bit rate, and on the other hand, the user is allowed to send data with any bit rate independently of the NBR.
The primary idea of the SIMA service is to maximize the exploitation of network resources with a simple control scheme while keeping the ratios of QoS levels offered to different flows unchanged under changeable traffic conditions. The maximization is based on three key features: all flows with different QoS requirements share the total capacity of every link, the network attempts to avoid any unnecessary packet discarding, and flow (or call) level blocking can be totally avoided. The approximate constancy of QoS ratios and simplicity are achieved by using 8 priority levels which make possible a fair packet discarding scheme inside the network without keeping track on the traffic of every flow.
The total SIMA service requested by a user consists of a nominal bit rate and of a possible real-time service request. This half of the service is as clear and reasonable as possible. The other half of the service is the expected QoS of the flow, or actually, the expected QoS of the application that the customer uses over the SIMA network. An essential issue for the success of the SIMA service is how reasonable and acceptable this part of the service concept will be.
Most customers have experienced circuit switched networks (like telephone networks) and packet networks with best-effort service (like the current Internet). In a circuit switched network a busy period means that the call blocking probability increases. In packet networks the packet loss ratio increases during busy periods, and effectively, the available capacity for a flow decreases if a TCP/IP type of protocol is used. In a SIMA environment; when a user buys a NBR for a flow and then sends traffic into a SIMA network, there is usually no flow level blocking (although it is possible to protect the SIMA network from excessive overloads by restricting the total sum of NBRs). The quality of the flow depends on two issues: the NBR to actual bit rate ratio, and total load in the network. Therefore, a potential difficulty is that the customer cannot precisely know what the QoS of a flow will be because rapid traffic variations may bring about unexpected changes of QoS (however, even in the case of services using resource reservation the actual quality of flows using certain quality class may vary significantly, because the quality can only be determined by using statistical parameters).
Because the quality of existing flows is not in the same way predictable as with services using complicated resource reservation mechanism, the SIMA network shall be implemented in a way that the users can rely on the fairness of the service. The fairness of the SIMA service is based on the fact that all flows with the same actual bit rate to NBR ratio perceives similar QoS. Thus, a home user with 10 kbit/s NBR receives the same QoS as a large company with NBR of 100 Mbit/s provided that both are transmitting at their own NBR. The SIMA service can offer this fairness feature during a short interval. In contrast, during a long period, like a month, fairness is not as clear, because the amount of transferred information depends essentially on total length of active periods, whereas the charging does not depend on the customer""s activity. This fairness problem common to any service with flat-rate charging can be solved, if needed, by using a time dependent charging.
Another aspect of fairness is the possibility to obtain more quality with higher price or lower price with less quality by changing the actual bit rate or NBR. This means that each customer is entitled. to change the NBR to actual bit rate ratio and by that means to optimize his/her quality to charge ratio. If the ratio increases, the quality of the flow is enhanced. If the user sends traffic by using a constant bit rate, the SIMA service offers 7 different quality levels (for variable bit rate traffic the levels are less distinct but basically the same). Although the absolute quality of each priority level depends on the network dimensioning and on actual traffic process, the quality levels provided by SIMA are arranged in seven priority levels.
First, there is priority level 7. Priority level 7 is reserved for non-SIMA. services with resource reservation. Then, there is priority level 6. Priority level 6 is dedicated to providing excellent quality and negligible packet loss ratios. Priority level 5 is for high quality transmission, wherein packet losses are allowed only during exceptional traffic peaks. Priority level 4 is for good quality transmissions, wherein small packet loss ratios are providedxe2x80x94even during busy hour. Priority level 3 is for moderate quality transmissions, wherein small packet loss ratios are usually provided except during busy hours. Priority level 2 is for satisfactory quality, wherein very high packet loss ratios are allowed from time to time. Priority level 1 is suitable for best-effort traffic during busy hour. Finally, priority level 0 is a service that is unusable during busy hour, but which is suitable for best-effort traffic during non-busy hours.
Thus, every data packet is equipped with a priority level (PL) that can be an integer between 0 and 7. This priority is used for selecting packets that are discarded during congestion of a network node. The priority is determined from the ratio of momentary actual bit rate of the source to the nominal bit rate (NBR) assigned to the source. This task is performed in a network access node that is the first network element to receive a packet from the customer equipment. Notice that a NBR can be, for example, assigned to a physical link, a user or a flow of single application. Below we use the term xe2x80x9cconnectionxe2x80x9d for meaning one entity (i.e. link, user, application) that has its own NBR.
The problem is that current applications cannot fully utilize the properties of SIMA network as they do not have any knowledge about SIMA. This may lead to a situation in which the application gets unnecessarily low priorities for it""s packets in the SIMA network. For example, an application with non-real-time data may transmit data packets as fast as it can even though there is no real need for this. As a result, the priority level that the packets receive at the access node is low and the connection looks must worse than could be expected from NBR.
One straightforward solution is to modify the application program so that it decreases its transmission rate. However, this is most inconvenient since the number of applications is huge.
It can be seen then that there is a need for a more sophisticated method and apparatus for shaping traffic in a SIMA network so that packet delivery is not adversely affected by the SIMA network.
It can also be seen that there is a need for a SIMA Traffic Shaper (STS) and method that is used between the customer equipment and the SIMA access node to shape the transmitted traffic so that the packets will receive as good priority as possible in the access node.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method and apparatus for shaping traffic for a SIMA network.
The present invention solves the above-described problems by providing a SIMA Traffic Shaper (STS) and method that is used between the customer equipment and the SIMA access node to shape the transmitted traffic so that the packets will receive as good priority as possible in the access node.
A system in accordance with the principles of the present invention includes an input device for receiving packets from a traffic source, a buffering device, coupled to the input, for holding the packets until instructed to send the packets; and a calculation unit, operatively coupled to the buffer processor, for calculating a send time for sending packets held by the buffering device.
Other embodiments of a system in accordance with the principles of the invention may include alternative or optional additional aspects. One such aspect of the present invention is that the buffering device further comprises a buffer and a transmission unit, the buffer holding the packets and the transmission unit sending the packet forward according to the send time received from the calculation unit.
Another aspect of the present invention is that the system further includes a monitoring unit for monitoring the input device and the buffering device to obtain loading information regarding the network.
Another aspect of the present invention is that the calculation unit calculates the send time based upon a nominal bit rate, a maximum delay, the loading information provided by the monitoring unit and a monitoring principle.
Another aspect of the present invention is that the buffer comprises segments for holding the packets, and wherein the monitoring principle is based solely upon a number of segments containing packets in the buffer.
Another aspect of the present invention is that the calculation unit determines a transmission rate for sending the packets, the transmission rate being equal to:             2        ⁢          xe2x80x83        ⁢    NBR        2          k      -      4      
where k is the number of a segment up to which the buffer is filled and NBR is the nominal bit rate.
Another aspect of the present invention is that the maximum delay is:                     D        max        *            ⁢              (        y        )              =                  X        ·                              ∑                          k              =              0                        7                    ⁢                      xe2x80x83                    ⁢                      y            ⁢                          xe2x80x83                        ⁢                                          (                k                )                            ·              N                        ⁢                          xe2x80x83                        ⁢                          (              k              )                                                  C        link              ,
where y is the number of cells in a segment, Clink is the link rate, k is the number of a segment up to which the buffer is filled and N(k) is the priority level, and wherein D*max(Y)xe2x89xa6Dmax.
Another aspect of the present invention is that the buffer comprises segments for holding the packets, and wherein the monitoring principle is based on the loading information.
Another aspect of the present invention is that the calculation unit calculates a transmission interval between successive cells based on instantaneous bit rate at the arrival time of a jth packet, the nominal bit rate and the link rate.
Another aspect of the present invention is that the transmission interval between successive cells is calculated according to:       N    *          (      j      )        =            C      link              IBR      ⁢              xe2x80x83            ⁢              (        j        )            
where IBR(j) is the instantaneous bit rate of the jth cell, NBR is the nominal bit rate and Clink is the link rate.
Another aspect of the present invention is that the calculating unit calculates a list of optimum transmission intervals for a plurality of priority levels and selects a final transmission interval based on the loading information such that Nm(j) is equal to the largest N(k) smaller than or equal to N*(j), where Nm(j) is the final transmission interval, N(k) is the transmission interval for priority level k, and N*(j) is the transmission interval for the jth packet.
Another aspect of the present invention is that the list of optimum transmission interval for each priority level k is calculated according to:       N    ⁢          xe2x80x83        ⁢          (      k      )        =            Int      ⁢              (                                            C              link                        ·                          2                              k                -                4                                                                        2                        ⁢                          xe2x80x83                        ⁢            NBR                          )              +    1.  
Another aspect of the present invention is that the calculating unit further calculates a transmission interval Nd(j) that takes into account the maximum delay according to:                     N        d            ⁢              (        j        )              =          min      ⁢              xe2x80x83            ⁢              (                              int            ⁢                          xe2x80x83                        ⁢                          (                                                                    C                    link                                    ·                                      D                    max                                                                                        X                    ·                    M                                    ⁢                                      xe2x80x83                                    ⁢                                      (                    j                    )                                                              )                                ,                                    N              d                        ⁢                          (                              j                -                1                            )                                      )              ,
where X is the fixed packet or cell size in bits, M(j) is the number of cells in the buffer at the arrival or jth packet or cell, Dmax is the maximum delay and Clink is the link rate.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.